/**
 *@author Victor Roncalla
**/

package pe.com.chilis.delivery.dao.interfaz;


import java.util.ArrayList;

import pe.com.chilis.delivery.beans.Departamento;
import pe.com.chilis.delivery.beans.Distrito;
import pe.com.chilis.delivery.beans.Provincia;
import pe.com.chilis.delivery.beans.ZonaReparto;
import pe.com.chilis.delivery.excepcion.ExcepcionDatos;

public interface ZonaRepartoDAO {

    public int registrarZonaReparto(ZonaReparto zonaReparto) throws ExcepcionDatos;
    public void actualizarZonaReparto(ZonaReparto zonaReparto) throws ExcepcionDatos;
    public void eliminarZonaReparto(ZonaReparto zonaReparto) throws ExcepcionDatos;
    public ArrayList<ZonaReparto> obtenerZonasReparto(ZonaReparto zonaReparto) throws ExcepcionDatos;
    public ZonaReparto obtenerZonaRepartoPorId(int idZonaReparto) throws ExcepcionDatos;
    public void actualizarDistritoZonaReparto(Distrito distrito) throws ExcepcionDatos;
    public ArrayList<Departamento> listarDepartamentos() throws ExcepcionDatos;
    public ArrayList<Provincia> listarProvinciasPorDepartamento(Departamento departamento) throws ExcepcionDatos;
    public ArrayList<Distrito> listarDistritosSinAsociarPorProvincia(Provincia provincia) throws ExcepcionDatos;
    public ArrayList<Distrito> listarDistritosAsociadosPorProvincia(Distrito distrito) throws ExcepcionDatos;
    public ArrayList<Distrito> listarDistritosAsociadosPorZonaReparto(ZonaReparto zonaReparto) throws ExcepcionDatos;

}
